import 'package:get/get.dart';
import 'package:mziot/app/modules/auth/login/controllers/auth_login_controller.dart';
import 'package:mziot/app/modules/auth/login/insweb/controllers/insweb_controller.dart';
import 'package:mziot/app/modules/auth/password/controllers/password_controller.dart';
import 'package:mziot/app/modules/auth/profile/controllers/auth_profile_controller.dart';
import 'package:mziot/app/modules/auth/register/controllers/auth_register_controller.dart';
import 'package:mziot/app/modules/circle/controllers/circle_controller.dart';
import 'package:mziot/app/modules/circle/controllers/circle_detail_controller.dart';
import 'package:mziot/app/modules/devices/add_device/controllers/add_device_controller.dart';
import 'package:mziot/app/modules/devices/controllers/device_manager_controller.dart';
import 'package:mziot/app/modules/devices/wifi/controllers/wifi_controller.dart';
import 'package:mziot/app/modules/home/controllers/home_controller.dart';
import 'package:mziot/app/modules/init/controllers/init_controller.dart';
import 'package:mziot/app/modules/lighting/controllers/lighting_controller.dart';
import 'package:mziot/app/modules/scene/controllers/scene_controller.dart';
import 'package:mziot/app/modules/scene/controllers/scene_detail_controller.dart';
import 'package:mziot/app/modules/tabbar/controllers/tabbar_controller.dart';

class AllBinding extends Bindings {
  @override
  void dependencies() {
    Get.lazyPut<AuthRegisterController>(() => AuthRegisterController());
    Get.lazyPut<InitController>(() => InitController());
    Get.lazyPut<TabbarController>(() => TabbarController());
    Get.lazyPut<HomeController>(() => HomeController());
    Get.lazyPut<SceneController>(() => SceneController());
    Get.lazyPut<CircleController>(() => CircleController());
    Get.lazyPut<AuthProfileController>(() => AuthProfileController());
    Get.lazyPut<AuthLoginController>(() => AuthLoginController());
    Get.lazyPut<SceneDetailController>(() => SceneDetailController());
    Get.lazyPut<LightingController>(() => LightingController());
    Get.lazyPut<AddDeviceController>(() => AddDeviceController());
    Get.lazyPut<DeviceManagerController>(() => DeviceManagerController());
    Get.lazyPut<CircleDetailController>(() => CircleDetailController());
    Get.lazyPut<PasswordController>(() => PasswordController());
    Get.lazyPut<InswebController>(() => InswebController());
    Get.lazyPut<WifiController>(() => WifiController());
  }
}

class HomeBinding extends Bindings {
  @override
  void dependencies() {
    Get.lazyPut<HomeController>(() => HomeController());
  }
}

class SceneBinding extends Bindings {
  @override
  void dependencies() {
    Get.lazyPut<SceneController>(() => SceneController());
  }
}

class CircleBinding extends Bindings {
  @override
  void dependencies() {
    Get.lazyPut<CircleController>(() => CircleController());
  }
}

class ProfileBinding extends Bindings {
  @override
  void dependencies() {
    Get.lazyPut<AuthProfileController>(() => AuthProfileController());
  }
}

class SceneDetailBinding extends Bindings {
  @override
  void dependencies() {
    Get.lazyPut<SceneDetailController>(() => SceneDetailController());
  }
}

class LightBinding extends Bindings {
  @override
  void dependencies() {
    Get.lazyPut<LightingController>(() => LightingController());
  }
}

class DeviceAddBinding extends Bindings {
  @override
  void dependencies() {
    Get.lazyPut<AddDeviceController>(() => AddDeviceController());
  }
}

class DeviceMBinding extends Bindings {
  @override
  void dependencies() {
    Get.lazyPut<DeviceManagerController>(() => DeviceManagerController());
  }
}

class CircleDetailBinding extends Bindings {
  @override
  void dependencies() {
    Get.lazyPut<CircleDetailController>(() => CircleDetailController());
  }
}

class PassBinding extends Bindings {
  @override
  void dependencies() {
    Get.lazyPut<PasswordController>(() => PasswordController());
  }
}

class WebBinding extends Bindings {
  @override
  void dependencies() {
    Get.lazyPut<InswebController>(() => InswebController());
  }
}

class WifiBinding extends Bindings {
  @override
  void dependencies() {
    Get.lazyPut<WifiController>(() => WifiController());
  }
}

class LoginBinding extends Bindings {
  @override
  void dependencies() {
    Get.lazyPut<AuthLoginController>(() => AuthLoginController());
  }
}

class RegisterBinding extends Bindings {
  @override
  void dependencies() {
    Get.lazyPut<AuthRegisterController>(() => AuthRegisterController());
  }
}

class InitBinding extends Bindings {
  @override
  void dependencies() {
    // Get.lazyPut<InitController>(() => InitController());
    Get.put(InitController());
  }
}

class TabbarBinding extends Bindings {
  @override
  void dependencies() {
    Get.lazyPut<TabbarController>(() => TabbarController());
  }
}
